﻿using Gargoyle.Roton;
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace Gargoyle.ZZT
{
    public class State
    {
        public int ActIndex = 0;
        public bool AlertAmmo = true;
        public bool AlertCantShoot = true;
        public bool AlertDark = true;
        public bool AlertEnergy = true;
        public bool AlertFake = true;
        public bool AlertForest = true;
        public bool AlertGem = true;
        public bool AlertNoAmmo = true;
        public bool AlertNotDark = true;
        public bool AlertNoTorch = true;
        public bool AlertTorch = true;
        public bool BreakGameLoop = false;
        public bool EditorMode = false;
        public bool EnteringBoard = false;
        public int ForestMusicIndex = 0;
        public bool GameOver = false;
        public bool InitGame = true;
        public bool InitGameLoop = false;
        public bool KeyArrow = false;
        public Keys KeyPressed = Keys.None;
        public bool KeyShift = false;
        public Vector KeyLastVector = new Vector(0, 0);
        public Vector KeyVector = new Vector(0, 0);
        public byte OOPByte = 0;
        public int OOPNumber = 0;
        public ByteString OOPWord = new byte[0];
        public bool Paused = false;
        public bool PausedBlink = false;
        public Element PlayerElement = null;
        public bool Quiet = false;
        public bool QuitZZT = false;
        public Queue<byte> SoundData = new Queue<byte>();
        public bool SoundPlaying = false;
        public int SoundPriority = 0;
        public byte SoundTicks = 0;
        public int Speed = 4;
        public Int16 StartBoard = 0;
        public int Tick = 0;
        public int TimeOnBoard = 0;
        public bool TitleScreen = false;
        public int WaitTime = 0;
    }
}
